Een lokale repository bestaat uit 3 verschillende 'trees' die je met git kan beheren:
de Working Directory, dat is de Windows, iOS, Linux map waarin je bestanden staan;
de Index, de verzamelplaats (staging area) waarin bestanden worden geplaatst om neergelegd (commit) te worden;
de geschiedenis (history) bevat de versiegeschiedenis van al je commits. De HEAD verwijst naar de laatste 'commit' die je hebt gemaakt;
visualisation of git movements
Overzicht
Maak een backup van je Programmeren map vooraleer je met Git op je computer begint te werken!!!!!!
Start Powershell op
Standaard achtergrondkleur is groen met rgb waarde 0, 128, 128. Ik zet de achtergrondkleur op zwart omdat de Git tekst op zwart beter leesbaar is. Linksboven klik je op het Powershell icoontje. Daarna op eigenschappen.
Powershell - change terminal properties
Er wordt een dialoogvenster geopend waarin je de achtergrondkleur van de terminal kan wijzigen.
Powershell - change background-color terminal
Ga naar de map Programmeren, de map waarin je de oefeningen en opdrachten maakt voor het vak Programmeren: cd AP/Programmeren
Bestandsmap Programmeren (gevolgd door groep naam, G1, G2, enz) initialiseren: git init
Nadag je git init hebt uitgevoerd, kan je in de Verkenner zien dat Git een verborgen submap in je working directory heeft toegevoegd. Verwijder deze map niet. Als je .git verwijdert, verwijder je meteen je hele Git geschiedenis. Om in PowerShell een verborgen map te tonen gebruik de -Force optie en om alleen mappen te zien, de -Dir optie.
git init - .git submap created
Gebruikersinformatie
Het eerste wat je wilt doen met een nieuwe Git installatie is je zelf voorstellen. Git slaat deze informatie op in je commits en op de diensten van derden, zoals GitHub en BitBucket om je te kunnen identificeren.
De --global vlag registeert je opties in ~/.gitconfig, en is de standaard voor alle nieuwe repositories. Het weglaten geeft ke de mogelijkheid je opties op een per-repository basis te op te geven.
Je gebruikernaam instellen voor elke repo op je computer:
git config --global user.name "Blaise Scheele"
Verifieer of je gebruikersnaam correct is ingesteld:
git config --global user.name
Om je gebruikersnaam in te stellen voor een specifieke repo, ga ja naar de map waar je repo staat en typ het volgende commando:
git config --local user.name "Billy Scheele"
Verifieer of je gebruikersnaam correct is ingesteld:
git config --local user.name
Je emailadres instellen voor elke repo op je computer:
git statusgit status only folders
Je krijgt alleen de bestandsnamen te zien en niet de bestanden zelf.
git status -ugit status -u
Zoals je ziet is dat een hele lijst en die is zo lang voor elk project in de Programmeren map.
.gitignore bestand maken om alleen .cs en csproj bestanden te verzamelen
Als je geen .gitignore bestand maakt om bepaalde bestanden en mappen uit te sluiten worden ook alle systeembestanden mee opgenomen in de repo. We zijn alleen geïnteresseerd in de .cs en de .csproj bestanden. Je kan dit op twee manieren doen:
Negatief door alle bestanden te negeren behalve de *.cs en de *.csproj bestanden:
.gitignore all except cs files
Met dit als resultaat:
git status -u with gitignore all except cs files
Door een lijst in te voeren met de bestanden en mappen die je niet wilt opnemen in de repo:
gitignore all vs system files and folders
En dat is het resultaat:
git status -u with gitignore
Alle programma-bestanden op de verzamelplaats zetten (staging)
git add --all
git add -a
De verzamelplaats inspecteren:
git statusgit status na git add -A of git add --all
De verzamelde bestanden en mappen worden in het groen weergegeven.
Maak een nieuwe map in Programmeren met de naam Les3.
Open VS en creeer een nieuw project in deze map met de naam TheorieUitproberen. Plaats in Program.cs de volgende code:
using System;
namespace TheorieUitproberen
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
string voornaam = "Karel";
char singleQuote = '\'';
Console.WriteLine(singleQuote + voornaam + singleQuote);
Console.WriteLine("Ik ga naar de film \"Harry Potter\"");
Console.WriteLine("Ik ga naar de film" + '"' + "Harry Potter" + '"');
//
Console.WriteLine("Klein klein kleutertje");
Console.WriteLine("Wat doe je in mijn hof");
Console.WriteLine("Je plukt er alle bloempjes af");
Console.WriteLine("Je maakt het veel te grof");
Console.WriteLine("Klein klein kleutertje\n\tWat doe je in mijn hof\n\tJe plukt er alle bloempjes af\n\tJe maakt het veel te grof");
Console.WriteLine("10\t20\t30\n40\t50\t60");
voornaam = "Mo";
string familienaam = "El Farisi";
// interpolatie, pas sinds C# 6
Console.WriteLine($"Je voornaam is {voornaam} en je familienaam is {familienaam}.");
Console.ReadKey();
}
}
}
Als je die code al hebt, wijzig dan 1 regel, bijvoorbeeld:
string voornaam = "Hannah";
git status -u:git status -u na wijziging in working directory
git add --all
git status:
git status na 2de git add -A of git add --all
Maak een nieuwe map in Programmeren met de naam Les4.
Open VS en creeer een nieuw project in deze map met de naam Theorieles. Plaats in Program.cs de volgende code:
using System;
namespace Theorieles
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Casting, Conversion en Parsing");
int getal1 = 2;
float getal2 = 1.00f;
double getal3;
getal3 = getal1; // widening impliciet uitgevoerd
getal1 = (int) getal2;
string naam = "Mo";
//getal1 = (int) naam;
char eenKarakter = 'A';
getal1 = eenKarakter;
//naam = eenKarakter;
naam = "3M";
string rekeningnummer = "00345678234";
//int rekeningnummerGetal = (int)rekeningnummer;
int rekeningnummerGetal = Convert.ToInt32(rekeningnummer);
Console.WriteLine($"rekeningnummer van string naar int: {rekeningnummerGetal}");
//getal1 = Convert.ToInt32(naam);
Console.WriteLine($"De naam Mo van string naar int: {getal1}");
bool isHetMogelijk = Int32.TryParse(naam, out getal1);
Console.Write("Hoeveel weeg je? ");
string answer = Console.ReadLine();
bool isHetEenGetal = Int32.TryParse(answer, out getal1);
Console.WriteLine($"Heb je een getal ingetypt? {isHetEenGetal}");
Console.ReadKey();
}
}
}
Als je die code al hebt, wijzig dan 1 regel, bijvoorbeeld:
string naam = "Hannah";
Onze working directory is nu gewijzigd maar het nieuwe project staat nog niet op de verzamelplaats.